/*******************************************
 * Copyright 2007 Aphrodite Framework for javaME .
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the GNU Public License v2.0
 * which accompanies this distribution, and is available at
 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
 * Email : owner@aphroditeme.dev.java.net
 * Contributors:
 *     Kent Elton - initial API and implementation
 *******************************************/

package com.aphrodite.xml;

import java.util.Hashtable;

/**
 * Sax handler interface
 * 
 * @author kentelt
 */
public interface SaxHandler {

	/**
	 * Receive notification of the beginning of the document.
	 */
	public void startDocument();

	/**
	 * Receive notification of the start of an element.
	 * 
	 * @param name
	 * @param attributes
	 */
	public void startElement(String name, Hashtable attributes);

	/**
	 * Receive notification of the end of an element.
	 * 
	 * @param name
	 */
	public void endElement(String name);

	/**
	 * Receive notification of character data inside an element.
	 * 
	 * @param characters
	 * @param isCDATA
	 */
	public void characters(String characters, boolean isCDATA);

	/**
	 * Receive notification of the end of the document.
	 */
	public void endDocument();

}
